Booting or bootstrapping is the process of starting up a computer from a halted or powered-down condition and loading an operating system into system memory of the computer. A computer may be booted from a local source, e.g., a hard disk that is part of the computer, or from a remote source, e.g., network storage as in a network boot.
Various techniques that allow computers to boot and run from network storage exist. At a high-level, they can be classified as a file-based network boot and an image-based network boot. In file-based network boot, which is supported by operating systems such as Unix®, Linux®, and Solaris®, a computer connected to a network storage is booted directly from the network storage. In image-based network boot, when the computer is powered on, an image of the operating system is downloaded using protocols like PXE/TFTP/BOOTP, and this image is used to load the operating system from the network storage.
Another technique for booting employs image streaming. This technique uses proprietary drivers to stream operating system images, that are stored on a central storage server, to a computer's system memory on an as-needed basis. As a result, computers in a network that employs image streaming do not maintain a copy of the operating system in their local storage.
The benefits of the technologies described above include central management and storage of an operating system and files of the operating system. If an anti-virus scanning of operating system files is needed, the scanning is carried out just once. They also permit computers to operate without local disks and provide an administrator control over what operating system files to make available to users.
However, not all operating systems permit booting from network storage or incorporate drivers that enable image streaming. The Windows operating system is one such example. When a Windows-based computer system is booted, the computer system's BIOS invokes a boot loader from a boot volume, which is typically a hard drive attached to the computer system, a floppy drive or an optical drive. In addition to the boot loader, a file system driver is loaded from the boot volume, and the file system driver is used in loading from the boot volume the remainder of the files that are required for the operating system to operate correctly.